Skip to content

Support Node 24 - #1497

Open
brandur wants to merge 1 commit into
masterfrom
brandur-node-24
Open

brandur wants to merge 1 commit into
masterfrom
brandur-node-24

Conversation

@brandur

@brandur brandur commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Got a request for this on X here [1].

Looking into it more, Node 24 is actually the "active" LTS today and
recommended for production, It's going to be supported until 2028, so
quite a bit of runway left.

Here, implement support for Node 24. The main difference is that 24
doesn't have native Temporal, so we put in a polyfill here that's
applied automatically, but not applied when Temporal is available.

[1] https://x.com/Vince_Profeta/status/2109162057488548038
[2] https://nodejs.org/en/about/previous-releases

@brandur
brandur requested a review from bgentry October 11, 2026 07:45
Got a request for this on X here [1].

Looking into it more, Node 24 is actually the "active" LTS today and
recommended for production, It's going to be supported until 2028, so
quite a bit of runway left.

Here, implement support for Node 24. The main difference is that 24
doesn't have native Temporal, so we put in a polyfill here that's
applied automatically, but not applied when Temporal is available.

[1] https://x.com/Vince_Profeta/status/2109162057488548038
[2] https://nodejs.org/en/about/previous-releases

@bgentry bgentry left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh @vinceprofeta is a former colleague I briefly overlapped with at Royal 😄 :shipit:

Comment thread .github/workflows/js.yaml
Comment on lines +181 to +182
# Minimum and current releases for both supported Node lines.
node-version: ["24.0.0", "24", "26.0.0", ""]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we pin to specific patch releases like this or do you think we should just stick with "24" and "26" to pull in the latest from each as we do in Go?

Comment thread js/cli/README.md
Comment on lines -145 to -147
Node.js 26 or newer with native `Temporal`: `node -p "typeof Temporal"` must
print `object`. Official Node.js binaries include it; some builds compiled from
source, including some distribution and Homebrew packages, do not.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, I think this pulled in Node 26 originally as part of my push to use the temporal stuff for non-terrible datetime handling.

Comment thread js/docs/development.md
Comment on lines +194 to +198
formatting, licenses, packed archives and examples. Unit tests run on Node
24.0.0, 26.0.0, and the current releases of both lines. Packed packages run on
Node 24 and 26, including CommonJS consumers and TypeScript consumers with
`@types/node` 24. Integration tests cover Postgres 14 through 18 on Node 26
and Postgres 18 on Node 24.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excessive detail in here IMO and likely to drift, no need to mention the exact releases we run unit tests against.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants